Linux开发

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Linux开发 >

linux:获取监听指定端口的进程PID

来源:互联网  作者:网友投稿  发布时间:2021-01-06 16:48
在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本. 通过 ss 命令获取监听制定端口的进程 PID,...

在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本.

通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程:

 

#!/bin/sh

# set -x

function get_pid_by_listened_port() {

[[ $# -lt 1  ]] && { echo 'param error: must have one param(port)'; return -1;  }

[[ $# -gt 1  ]] && { echo 'param error: only support one param(port)'; return -1;  }

pattern_str="*:$1\\b"

pid=$(ss -n -t -l -p | grep "$pattern_str" | column -t | awk -F ',' '{print $(NF-1)}')

# 当版本号为 "ss utility, iproute2-ss161009" 时, ss 命令输出格式为:

#               LISTEN  0  5  *:8000  *:*  users:(("python2.7",pid=7130,fd=3))

# 此时需要进一步处理, 只获取进程 PID 值.

[[ $pid =~ "pid" ]] && pid=$(echo $pid | awk -F '=' '{print $NF}')

echo $pid

}

function kill_pid_by_listened_port() {

pid=$(get_pid_by_listened_port $1)

[[ -n "$pid" ]] && { echo "find pid: $pid, kill it..."; kill $pid; }

[[ -n "$pid" ]] || { echo "not found listened port: $1"; }

}

kill_pid_by_listened_port 8080

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/server/kaifa/11516.shtml

相关文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

linux:获取监听指定端口的进程PID

2021-01-06 编辑:网友投稿

在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本.

通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程:

 

#!/bin/sh

# set -x

function get_pid_by_listened_port() {

[[ $# -lt 1  ]] && { echo 'param error: must have one param(port)'; return -1;  }

[[ $# -gt 1  ]] && { echo 'param error: only support one param(port)'; return -1;  }

pattern_str="*:$1\\b"

pid=$(ss -n -t -l -p | grep "$pattern_str" | column -t | awk -F ',' '{print $(NF-1)}')

# 当版本号为 "ss utility, iproute2-ss161009" 时, ss 命令输出格式为:

#               LISTEN  0  5  *:8000  *:*  users:(("python2.7",pid=7130,fd=3))

# 此时需要进一步处理, 只获取进程 PID 值.

[[ $pid =~ "pid" ]] && pid=$(echo $pid | awk -F '=' '{print $NF}')

echo $pid

}

function kill_pid_by_listened_port() {

pid=$(get_pid_by_listened_port $1)

[[ -n "$pid" ]] && { echo "find pid: $pid, kill it..."; kill $pid; }

[[ -n "$pid" ]] || { echo "not found listened port: $1"; }

}

kill_pid_by_listened_port 8080

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/server/kaifa/11516.shtml

相关文章

风云图片

推荐阅读

返回Linux开发频道首页